package com.yuelife.service.service;

import com.github.pagehelper.PageInfo;
import com.yuelife.service.pojo.SProduct;
import com.yuelife.service.utils.ServiceProductDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/****
 * @Author:admin
 * @Description:SProduct业务层接口
 * @Date 2019/6/14 0:16
 *****/
public interface SProductService {

    /***
     * SProduct多条件分页查询
     * @param sProduct
     * @param page
     * @param size
     * @return
     */
    PageInfo<SProduct> findPage(SProduct sProduct, int page, int size);

    /***
     * SProduct分页查询
     * @param page
     * @param size
     * @return
     */
    PageInfo<SProduct> findPage(int page, int size);

    /***
     * SProduct多条件搜索方法
     * @param sProduct
     * @return
     */
    List<SProduct> findList(SProduct sProduct);

    /***
     * 删除SProduct
     * @param id
     */
    void delete(Integer id);

    /***
     * 修改SProduct数据
     * @param sProduct
     */
    void update(SProduct sProduct);

    /***
     * 新增SProduct
     * @param sProduct
     */
    void add(SProduct sProduct);

    /**
     * 根据ID查询SProduct
     * @param id
     * @return
     */
     SProduct findById(Integer id);

    /***
     * 查询所有SProduct
     * @return
     */
    List<SProduct> findAll();

    /**
     * 查询销量前三的服务
     * @return
     */
    List<SProduct> selectSProduct();

    /**
     * 根据商家id查找商品
     * @param storeId
     * @return
     */
    List<SProduct> selectSProductByStoreId(Integer storeId);

    /**
     * 根据商品id查找商品
     * @param serviceId
     * @return
     */
    SProduct selectSProductByserviceId(Integer serviceId);

    /**
     * 下架商品
     * @param serviceId
     */
    void updateSProductStatusByserviceId(Integer serviceId);


    /**
     * 多条件查询商品
     * @param serviceProductDTO
     * @return
     */
    List<SProduct> listServiceByCondition(ServiceProductDTO serviceProductDTO);

}
